package com.example.the_breakfast_club;

/**
 * Stores item information.
 * @author Team 19
 */
public class Item {
	
	private String name; 
	private String description; 
	private String location;
	private int category;
	private boolean found;
	private boolean resolved;
	private int time;
	
	/**
	 * Constructor for item class.
	 */
	public Item(){
		this.name = "";
		this.description = "";
		this.location = "";
		this.category = 0;
		this.found = false;
		this.resolved = false;
		this.time = 0;
	}
	
	/**
	 * Constructor for item class.
	 * @param name, item name
	 * @param description, item description
	 * @param category, item category
	 */
	public Item(String name, String description, int category){
		this.name = name;
		this.description = description;
		this.category = category;
		this.found = false;
		this.resolved = false;
		this.time = 0;
	}
	
	/**
	 * Constructor for item class.
	 * @param name, item name
	 * @param description, item description
	 * @param category, item category
	 * @param resolved, true if item has been found, false if unresolved case
	 */
	public Item(String name, String description, int category, boolean found, boolean resolved){
		this.name = name;
		this.description = description;
		this.category = category;
		this.found = found;
		this.resolved = resolved;
		this.time = 0;
	}
	
	/**
	 * Constructor for item class.
	* @param name, item name
	* @param description, item description
	* @param category, item category
	* @param resolved, true if item has been found, false if unresolved case
 	* @param time, the time this item was created
 	*/
 	public Item(String name, String description, int category, boolean found, int time){
 		this.name = name;
 		this.description = description;
 		this.category = category;
 		this.found = found;
 		this.resolved = false;
 		this.time = time;
 	}
 	
 	public Item(String name, String description, String location, int category,
 			boolean found, boolean resolved){
 		this.name = name;
 		this.description = description;
 		this.location = location;
 		this.category = category;
 		this.found = found;
 		this.resolved = resolved;
 		this.time = 0;
 	}
 	
 	public Item(String name, String description, String location, int category,
 			boolean found, boolean resolved, int time){
 		this.name = name;
 		this.description = description;
 		this.location = location;
 		this.category = category;
 		this.found = found;
 		this.resolved = resolved;
 		this.time = time;
 	}
	
	/**
	 * Getter for item name.
	 * @return item name
	 */
	public String getName(){
		return name;
	}
	
	/**
	 * Getter for item description.
	 * @return item description
	 */
	public String getDescription(){
		return description;
	}
	
	/**
	 * Getter for item location.
	 * @return item description
	 */
	public String getLocation(){
		return location;
	}
	
	/**
	 * Getter for item category.
	 * @return item category
	 */
	public int getCategory(){
		return category;
	}
	
	/**
	 * Getter for item state.
	 * @return true if item is found, false if lost
	 */
	public boolean getFound(){
		return found;
	}
	
	/**
	 * Getter for resolved
	 * @return true if match is found, false otherwise.
	 */
	public boolean getResolved(){
		return resolved;
	}
	
	/**
	 * Getter for item time
	 * @param time, the time the item was created
	 */
	public int getTime(){
		return time;
	}
	
	/**
	 * Setter for item name.
	 * @param name, item name
	 */
	public void setName(String name){
		this.name = name;
	}
	
	/**
	 * Setter for item description.
	 * @param description, item description
	 */
	public void setDescription(String description){
		this.description = description;
	}
	
	/**
	 * Setter for item location.
	 * @param description, item description
	 */
	public void setLocation(String location){
		this.location = location;
	}
	
	/**
	 * Setter for item category.
	 * @param category, item category
	 */
	public void setCategory(int category){
		this.category = category;
	}
	
	/**
	 * Setter for item  state
	 * @param found, true if item is found, false if lost
	 */
	public void setFound(boolean found){
		this.found = found;
	}
	
	/**
	 * Setter for item resolved state
	 * @param resolved, true if item is found, false if unresolved case
	 */
	public void setResolved(boolean resolved){
		this.resolved = resolved;
	}
	
	/**
	 * Setter for item time
	 * @param time, the time the item was created
	*/
	public void setTime(int time){
		this.time = time;
	}
}